﻿using Google.Protobuf.WellKnownTypes;

namespace Elio.Sessions;

public class GenericDialogSession : BaseSession
{
    protected override string SessionName => base.SessionName = "GenericDialog";

    protected override async Task OnReceive(string name, long sessionId, long futureId, params Any[] argv)
    {
        switch (name)
        {
            case "setOnCancelListener":
                SetOnCancelListener();
                break;

            case "setMessage":
                SetMessage();
                break;

            case "setTitle":
                SetTitle();
                break;

            case "setOkButtonText":
                SetOkButtonText();
                break;

            case "setCancelButtonText":
                SetCancelButtonText();
                break;

            case "setOnOkButtonClickListener":
                SetOnOkButtonClickListener();
                break;

            case "setOnCancelButtonClickListener":
                SetOnCancelButtonClickListener();
                break;

            default:
                await base.OnReceive(name, sessionId, futureId, argv);
                break;
        }
    }

    private static void SetOnCancelListener() { }
    private static void SetMessage() { }
    private static void SetTitle() { }
    private static void SetOkButtonText() { }
    private static void SetCancelButtonText() { }
    private static void SetOnOkButtonClickListener() { }
    private static void SetOnCancelButtonClickListener() { }
}
